<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkMenuShell: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="AbstractObjects.html" title="Abstract Base Classes">
<link rel="prev" href="GtkBin.html" title="GtkBin">
<link rel="next" href="GtkRange.html" title="GtkRange">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GtkMenuShell.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GtkMenuShell.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                  <a href="#GtkMenuShell.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#GtkMenuShell.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#GtkMenuShell.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="AbstractObjects.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkBin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkRange.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkMenuShell"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkMenuShell.top_of_page"></a>GtkMenuShell</span></h2>
<p>GtkMenuShell — A base class for menu objects</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkMenuShell.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-append" title="gtk_menu_shell_append ()">gtk_menu_shell_append</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-prepend" title="gtk_menu_shell_prepend ()">gtk_menu_shell_prepend</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-insert" title="gtk_menu_shell_insert ()">gtk_menu_shell_insert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-deactivate" title="gtk_menu_shell_deactivate ()">gtk_menu_shell_deactivate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-select-item" title="gtk_menu_shell_select_item ()">gtk_menu_shell_select_item</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-select-first" title="gtk_menu_shell_select_first ()">gtk_menu_shell_select_first</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-deselect" title="gtk_menu_shell_deselect ()">gtk_menu_shell_deselect</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-activate-item" title="gtk_menu_shell_activate_item ()">gtk_menu_shell_activate_item</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-cancel" title="gtk_menu_shell_cancel ()">gtk_menu_shell_cancel</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-set-take-focus" title="gtk_menu_shell_set_take_focus ()">gtk_menu_shell_set_take_focus</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-get-take-focus" title="gtk_menu_shell_get_take_focus ()">gtk_menu_shell_get_take_focus</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-get-selected-item" title="gtk_menu_shell_get_selected_item ()">gtk_menu_shell_get_selected_item</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-get-parent-shell" title="gtk_menu_shell_get_parent_shell ()">gtk_menu_shell_get_parent_shell</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-bind-model" title="gtk_menu_shell_bind_model ()">gtk_menu_shell_bind_model</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody><tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell--take-focus" title="The “take-focus” property">take-focus</a></td>
<td class="property_flags">Read / Write</td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signal_proto_type">
<col width="300px" class="signal_proto_name">
<col width="200px" class="signal_proto_flags">
</colgroup>
<tbody>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-activate-current" title="The “activate-current” signal">activate-current</a></td>
<td class="signal_flags">Action</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-cancel" title="The “cancel” signal">cancel</a></td>
<td class="signal_flags">Action</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-cycle-focus" title="The “cycle-focus” signal">cycle-focus</a></td>
<td class="signal_flags">Action</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-deactivate" title="The “deactivate” signal">deactivate</a></td>
<td class="signal_flags">Run First</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-insert" title="The “insert” signal">insert</a></td>
<td class="signal_flags">Run First</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-move-current" title="The “move-current” signal">move-current</a></td>
<td class="signal_flags">Action</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">gboolean</span></td>
<td class="signal_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-move-selected" title="The “move-selected” signal">move-selected</a></td>
<td class="signal_flags">Run Last</td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-selection-done" title="The “selection-done” signal">selection-done</a></td>
<td class="signal_flags">Run First</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GtkMenuShell.html#GtkMenuShell-struct" title="struct GtkMenuShell">GtkMenuShell</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkMenuShell.html#GtkMenuDirectionType" title="enum GtkMenuDirectionType">GtkMenuDirectionType</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> GInitiallyUnowned
        <span class="lineart">╰──</span> <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>
            <span class="lineart">╰──</span> <a class="link" href="GtkContainer.html" title="GtkContainer">GtkContainer</a>
                <span class="lineart">╰──</span> GtkMenuShell
                    <span class="lineart">├──</span> <a class="link" href="GtkMenuBar.html" title="GtkMenuBar">GtkMenuBar</a>
                    <span class="lineart">╰──</span> <a class="link" href="GtkMenu.html" title="GtkMenu">GtkMenu</a>
</pre>
</div>
<div class="refsect1">
<a name="GtkMenuShell.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GtkMenuShell implements
 AtkImplementorIface and  <a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a>.</p>
</div>
<div class="refsect1">
<a name="GtkMenuShell.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkMenuShell.description"></a><h2>Description</h2>
<p>A <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> is the abstract base class used to derive the
<a class="link" href="GtkMenu.html" title="GtkMenu"><span class="type">GtkMenu</span></a> and <a class="link" href="GtkMenuBar.html" title="GtkMenuBar"><span class="type">GtkMenuBar</span></a> subclasses.</p>
<p>A <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> is a container of <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> objects arranged
in a list which can be navigated, selected, and activated by the
user to perform application functions. A <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> can have a
submenu associated with it, allowing for nested hierarchical menus.</p>
<div class="refsect2">
<a name="id-1.3.20.5.10.4"></a><h3>Terminology</h3>
<p>A menu item can be “selected”, this means that it is displayed
in the prelight state, and if it has a submenu, that submenu
will be popped up.</p>
<p>A menu is “active” when it is visible onscreen and the user
is selecting from it. A menubar is not active until the user
clicks on one of its menuitems. When a menu is active,
passing the mouse over a submenu will pop it up.</p>
<p>There is also is a concept of the current menu and a current
menu item. The current menu item is the selected menu item
that is furthest down in the hierarchy. (Every active menu shell
does not necessarily contain a selected menu item, but if
it does, then the parent menu shell must also contain
a selected menu item.) The current menu is the menu that
contains the current menu item. It will always have a GTK
grab and receive all key presses.</p>
</div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-menu-shell-append"></a><h3>gtk_menu_shell_append ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_append (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                       <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);</pre>
<p>Adds a new <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the end of the menu shell's
item list.</p>
<div class="refsect3">
<a name="gtk-menu-shell-append.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> Gtk.MenuItem]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-prepend"></a><h3>gtk_menu_shell_prepend ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_prepend (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                        <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);</pre>
<p>Adds a new <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the beginning of the menu shell's
item list.</p>
<div class="refsect3">
<a name="gtk-menu-shell-prepend.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-insert"></a><h3>gtk_menu_shell_insert ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_insert (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                       <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>,
                       <em class="parameter"><code><span class="type">gint</span> position</code></em>);</pre>
<p>Adds a new <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the menu shell’s item list
at the position indicated by <em class="parameter"><code>position</code></em>
.</p>
<div class="refsect3">
<a name="gtk-menu-shell-insert.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>position</p></td>
<td class="parameter_description"><p>The position in the item list where <em class="parameter"><code>child</code></em>
is added. Positions are numbered from 0 to n-1</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-deactivate"></a><h3>gtk_menu_shell_deactivate ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_deactivate (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>Deactivates the menu shell.</p>
<p>Typically this results in the menu shell being erased
from the screen.</p>
<div class="refsect3">
<a name="gtk-menu-shell-deactivate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-select-item"></a><h3>gtk_menu_shell_select_item ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_select_item (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                            <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>);</pre>
<p>Selects the menu item from the menu shell.</p>
<div class="refsect3">
<a name="gtk-menu-shell-select-item.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>menu_item</p></td>
<td class="parameter_description"><p>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to select</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-select-first"></a><h3>gtk_menu_shell_select_first ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_select_first (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                             <em class="parameter"><code><span class="type">gboolean</span> search_sensitive</code></em>);</pre>
<p>Select the first visible or selectable child of the menu shell;
don’t select tearoff items unless the only item is a tearoff
item.</p>
<div class="refsect3">
<a name="gtk-menu-shell-select-first.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>search_sensitive</p></td>
<td class="parameter_description"><p>if <code class="literal">TRUE</code>, search for the first selectable
menu item, otherwise select nothing if
the first item isn’t sensitive. This
should be <code class="literal">FALSE</code> if the menu is being
popped up initially.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.2</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-deselect"></a><h3>gtk_menu_shell_deselect ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_deselect (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>Deselects the currently selected item from the menu shell,
if any.</p>
<div class="refsect3">
<a name="gtk-menu-shell-deselect.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-activate-item"></a><h3>gtk_menu_shell_activate_item ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_activate_item (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                              <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>,
                              <em class="parameter"><code><span class="type">gboolean</span> force_deactivate</code></em>);</pre>
<p>Activates the menu item within the menu shell.</p>
<div class="refsect3">
<a name="gtk-menu-shell-activate-item.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>menu_item</p></td>
<td class="parameter_description"><p>the <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to activate</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>force_deactivate</p></td>
<td class="parameter_description"><p>if <code class="literal">TRUE</code>, force the deactivation of the
menu shell after the menu item is activated</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-cancel"></a><h3>gtk_menu_shell_cancel ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_cancel (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>Cancels the selection within the menu shell.</p>
<div class="refsect3">
<a name="gtk-menu-shell-cancel.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-set-take-focus"></a><h3>gtk_menu_shell_set_take_focus ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_set_take_focus (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                               <em class="parameter"><code><span class="type">gboolean</span> take_focus</code></em>);</pre>
<p>If <em class="parameter"><code>take_focus</code></em>
 is <code class="literal">TRUE</code> (the default) the menu shell will take
the keyboard focus so that it will receive all keyboard events
which is needed to enable keyboard navigation in menus.</p>
<p>Setting <em class="parameter"><code>take_focus</code></em>
 to <code class="literal">FALSE</code> is useful only for special applications
like virtual keyboard implementations which should not take keyboard
focus.</p>
<p>The <em class="parameter"><code>take_focus</code></em>
 state of a menu or menu bar is automatically
propagated to submenus whenever a submenu is popped up, so you
don’t have to worry about recursively setting it for your entire
menu hierarchy. Only when programmatically picking a submenu and
popping it up manually, the <em class="parameter"><code>take_focus</code></em>
 property of the submenu
needs to be set explicitly.</p>
<p>Note that setting it to <code class="literal">FALSE</code> has side-effects:</p>
<p>If the focus is in some other app, it keeps the focus and keynav in
the menu doesn’t work. Consequently, keynav on the menu will only
work if the focus is on some toplevel owned by the onscreen keyboard.</p>
<p>To avoid confusing the user, menus with <em class="parameter"><code>take_focus</code></em>
 set to <code class="literal">FALSE</code>
should not display mnemonics or accelerators, since it cannot be
guaranteed that they will work.</p>
<p>See also <code class="function">gdk_keyboard_grab()</code></p>
<div class="refsect3">
<a name="gtk-menu-shell-set-take-focus.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>take_focus</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if the menu shell should take the keyboard
focus on popup</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-get-take-focus"></a><h3>gtk_menu_shell_get_take_focus ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gtk_menu_shell_get_take_focus (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>Returns <code class="literal">TRUE</code> if the menu shell will take the keyboard focus on popup.</p>
<div class="refsect3">
<a name="gtk-menu-shell-get-take-focus.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-menu-shell-get-take-focus.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if the menu shell will take the keyboard focus on popup.</p>
</div>
<p class="since">Since: 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-get-selected-item"></a><h3>gtk_menu_shell_get_selected_item ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_menu_shell_get_selected_item (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>Gets the currently selected item.</p>
<div class="refsect3">
<a name="gtk-menu-shell-get-selected-item.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-menu-shell-get-selected-item.returns"></a><h4>Returns</h4>
<p>the currently selected item. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-get-parent-shell"></a><h3>gtk_menu_shell_get_parent_shell ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_menu_shell_get_parent_shell (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>Gets the parent menu shell.</p>
<p>The parent menu shell of a submenu is the <a class="link" href="GtkMenu.html" title="GtkMenu"><span class="type">GtkMenu</span></a> or <a class="link" href="GtkMenuBar.html" title="GtkMenuBar"><span class="type">GtkMenuBar</span></a>
from which it was opened up.</p>
<div class="refsect3">
<a name="gtk-menu-shell-get-parent-shell.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-menu-shell-get-parent-shell.returns"></a><h4>Returns</h4>
<p>the parent <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-3-0.html#api-index-3.0">3.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-bind-model"></a><h3>gtk_menu_shell_bind_model ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_menu_shell_bind_model (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                           <em class="parameter"><code><span class="type">GMenuModel</span> *model</code></em>,
                           <em class="parameter"><code>const <span class="type">gchar</span> *action_namespace</code></em>,
                           <em class="parameter"><code><span class="type">gboolean</span> with_separators</code></em>);</pre>
<p>Establishes a binding between a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> and a <span class="type">GMenuModel</span>.</p>
<p>The contents of <em class="parameter"><code>shell</code></em>
 are removed and then refilled with menu items
according to <em class="parameter"><code>model</code></em>
.  When <em class="parameter"><code>model</code></em>
 changes, <em class="parameter"><code>shell</code></em>
 is updated.
Calling this function twice on <em class="parameter"><code>shell</code></em>
 with different <em class="parameter"><code>model</code></em>
 will
cause the first binding to be replaced with a binding to the new
model. If <em class="parameter"><code>model</code></em>
 is <code class="literal">NULL</code> then any previous binding is undone and
all children are removed.</p>
<p><em class="parameter"><code>with_separators</code></em>
 determines if toplevel items (eg: sections) have
separators inserted between them.  This is typically desired for
menus but doesn’t make sense for menubars.</p>
<p>If <em class="parameter"><code>action_namespace</code></em>
 is non-<code class="literal">NULL</code> then the effect is as if all
actions mentioned in the <em class="parameter"><code>model</code></em>
 have their names prefixed with the
namespace, plus a dot.  For example, if the action “quit” is
mentioned and <em class="parameter"><code>action_namespace</code></em>
 is “app” then the effective action
name is “app.quit”.</p>
<p>This function uses <a class="link" href="GtkActionable.html" title="GtkActionable"><span class="type">GtkActionable</span></a> to define the action name and
target values on the created menu items.  If you want to use an
action group other than “app” and “win”, or if you want to use a
<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> outside of a <a class="link" href="GtkApplicationWindow.html" title="GtkApplicationWindow"><span class="type">GtkApplicationWindow</span></a>, then you will need
to attach your own action group to the widget hierarchy using
<a class="link" href="GtkWidget.html#gtk-widget-insert-action-group" title="gtk_widget_insert_action_group ()"><code class="function">gtk_widget_insert_action_group()</code></a>.  As an example, if you created a
group with a “quit” action and inserted it with the name “mygroup”
then you would use the action name “mygroup.quit” in your
<span class="type">GMenuModel</span>.</p>
<p>For most cases you are probably better off using
<a class="link" href="GtkMenu.html#gtk-menu-new-from-model" title="gtk_menu_new_from_model ()"><code class="function">gtk_menu_new_from_model()</code></a> or <a class="link" href="GtkMenuBar.html#gtk-menu-bar-new-from-model" title="gtk_menu_bar_new_from_model ()"><code class="function">gtk_menu_bar_new_from_model()</code></a> or just
directly passing the <span class="type">GMenuModel</span> to <a class="link" href="GtkApplication.html#gtk-application-set-app-menu" title="gtk_application_set_app_menu ()"><code class="function">gtk_application_set_app_menu()</code></a> or
<a class="link" href="GtkApplication.html#gtk-application-set-menubar" title="gtk_application_set_menubar ()"><code class="function">gtk_application_set_menubar()</code></a>.</p>
<div class="refsect3">
<a name="gtk-menu-shell-bind-model.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>model</p></td>
<td class="parameter_description"><p>the <span class="type">GMenuModel</span> to bind to or <code class="literal">NULL</code> to remove
binding. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>action_namespace</p></td>
<td class="parameter_description"><p>the namespace for actions in <em class="parameter"><code>model</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>with_separators</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if toplevel items in <em class="parameter"><code>shell</code></em>
should have
separators between them</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-3-6.html#api-index-3.6">3.6</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkMenuShell-struct"></a><h3>struct GtkMenuShell</h3>
<pre class="programlisting">struct GtkMenuShell;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuDirectionType"></a><h3>enum GtkMenuDirectionType</h3>
<p>An enumeration representing directional movements within a menu.</p>
<div class="refsect3">
<a name="GtkMenuDirectionType.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-MENU-DIR-PARENT:CAPS"></a>GTK_MENU_DIR_PARENT</p></td>
<td class="enum_member_description">
<p>To the parent menu shell</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-MENU-DIR-CHILD:CAPS"></a>GTK_MENU_DIR_CHILD</p></td>
<td class="enum_member_description">
<p>To the submenu, if any, associated with the item</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-MENU-DIR-NEXT:CAPS"></a>GTK_MENU_DIR_NEXT</p></td>
<td class="enum_member_description">
<p>To the next menu item</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-MENU-DIR-PREV:CAPS"></a>GTK_MENU_DIR_PREV</p></td>
<td class="enum_member_description">
<p>To the previous menu item</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkMenuShell--take-focus"></a><h3>The <code class="literal">“take-focus”</code> property</h3>
<pre class="programlisting">  “take-focus”               <span class="type">gboolean</span></pre>
<p>A boolean that determines whether the menu and its submenus grab the
keyboard focus. See <a class="link" href="GtkMenuShell.html#gtk-menu-shell-set-take-focus" title="gtk_menu_shell_set_take_focus ()"><code class="function">gtk_menu_shell_set_take_focus()</code></a> and
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-get-take-focus" title="gtk_menu_shell_get_take_focus ()"><code class="function">gtk_menu_shell_get_take_focus()</code></a>.</p>
<p>Owner: GtkMenuShell</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
<p class="since">Since: 2.8</p>
</div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GtkMenuShell-activate-current"></a><h3>The <code class="literal">“activate-current”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menushell,
               <span class="type">gboolean</span>      force_hide,
               <span class="type">gpointer</span>      user_data)</pre>
<p>An action signal that activates the current menu item within
the menu shell.</p>
<div class="refsect3">
<a name="GtkMenuShell-activate-current.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menushell</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>force_hide</p></td>
<td class="parameter_description"><p>if <code class="literal">TRUE</code>, hide the menu after activating the menu item</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Action</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-cancel"></a><h3>The <code class="literal">“cancel”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menushell,
               <span class="type">gpointer</span>      user_data)</pre>
<p>An action signal which cancels the selection within the menu shell.
Causes the <a class="link" href="GtkMenuShell.html#GtkMenuShell-selection-done" title="The “selection-done” signal"><span class="type">“selection-done”</span></a> signal to be emitted.</p>
<div class="refsect3">
<a name="GtkMenuShell-cancel.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menushell</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Action</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-cycle-focus"></a><h3>The <code class="literal">“cycle-focus”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>    *menushell,
               <a class="link" href="gtk3-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> direction,
               <span class="type">gpointer</span>         user_data)</pre>
<p>A keybinding signal which moves the focus in the
given <em class="parameter"><code>direction</code></em>
.</p>
<div class="refsect3">
<a name="GtkMenuShell-cycle-focus.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menushell</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>direction</p></td>
<td class="parameter_description"><p>the direction to cycle in</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Action</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-deactivate"></a><h3>The <code class="literal">“deactivate”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menushell,
               <span class="type">gpointer</span>      user_data)</pre>
<p>This signal is emitted when a menu shell is deactivated.</p>
<div class="refsect3">
<a name="GtkMenuShell-deactivate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menushell</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run First</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-insert"></a><h3>The <code class="literal">“insert”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell,
               <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a>    *child,
               <span class="type">int</span>           position,
               <span class="type">gpointer</span>      user_data)</pre>
<p>The ::insert signal is emitted when a new <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> is added to
a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.  A separate signal is used instead of
GtkContainer::add because of the need for an additional position
parameter.</p>
<p>The inverse of this signal is the GtkContainer::removed signal.</p>
<div class="refsect3">
<a name="GtkMenuShell-insert.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>the object on which the signal is emitted</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>child</p></td>
<td class="parameter_description"><p>the <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> that is being inserted</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>position</p></td>
<td class="parameter_description"><p>the position at which the insert occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run First</p>
<p class="since">Since: <a class="link" href="api-index-3-2.html#api-index-3.2">3.2</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-move-current"></a><h3>The <code class="literal">“move-current”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>        *menushell,
               <a class="link" href="GtkMenuShell.html#GtkMenuDirectionType" title="enum GtkMenuDirectionType"><span class="type">GtkMenuDirectionType</span></a> direction,
               <span class="type">gpointer</span>             user_data)</pre>
<p>An keybinding signal which moves the current menu item
in the direction specified by <em class="parameter"><code>direction</code></em>
.</p>
<div class="refsect3">
<a name="GtkMenuShell-move-current.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menushell</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>direction</p></td>
<td class="parameter_description"><p>the direction to move</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Action</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-move-selected"></a><h3>The <code class="literal">“move-selected”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
user_function (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell,
               <span class="type">int</span>           distance,
               <span class="type">gpointer</span>      user_data)</pre>
<p>The ::move-selected signal is emitted to move the selection to
another item.</p>
<div class="refsect3">
<a name="GtkMenuShell-move-selected.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menu_shell</p></td>
<td class="parameter_description"><p>the object on which the signal is emitted</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>distance</p></td>
<td class="parameter_description"><p>+1 to move to the next item, -1 to move to the previous</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GtkMenuShell-move-selected.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> to stop the signal emission, <code class="literal">FALSE</code> to continue</p>
</div>
<p>Flags: Run Last</p>
<p class="since">Since: 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-selection-done"></a><h3>The <code class="literal">“selection-done”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menushell,
               <span class="type">gpointer</span>      user_data)</pre>
<p>This signal is emitted when a selection has been
completed within a menu shell.</p>
<div class="refsect3">
<a name="GtkMenuShell-selection-done.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>menushell</p></td>
<td class="parameter_description"><p>the object which received the signal</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run First</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>